package org.platform.mo.bussmo.task;

import lombok.Data;

import java.util.List;

/**
 * 任务上报
 *
 * @author FengJie
 * @date 2018/8/16
 */
@Data
public class Fd_WorkSchInfo {
    /**
     * 任务单流水号+计划编号
     */
    private String id;

    /**
     * 任务单流水号
     */
    private String taskSerialNumber;

    /**
     * 计划编号
     */
    private String jobTaskID;

    /**
     * 计划创建者：
     * （Local/RMCS/OMO）
     */
    private String creator;

    /**
     * 计划提交时间
     * 参见3.2.4。
     */
    private String submitTime;

    /**
     * 卫星名称
     */
    private String satelliteName;

    /**
     * 轨道圈号
     */
    private String orbitNumber;

    /**
     * 轨道类型：
     * SunSync：太阳同步
     * EarthSync：地球同步
     * HighlyEllipitical：大椭圆轨道
     */
    private String orbitType;

    /**
     * 计划接收模式：
     * Normal：正常接收
     * DualRecord：单天线双记录
     * DualAntDualRecord：双天线双记录
     * 结束时间
     */
    private String taskRcvType;

    /**
     * 作业方式
     * 参见《国家民用空间基础设施“十二五”陆地观测卫星地面系统项目数据接收系统接收管理与监控分系统与跟踪接收分系统接口规范》
     * 对于某个任务单的作业任务，其作业方式可采用多个作业方式进行组合。如此任务单存在多个作业方式，中间以“;”隔开。
     * 作业方式有：
     * A02：卫星跟踪与接收；
     * A01，A03…A10：预留；
     * R11：数据记录；
     * R12: 原始数据实时传输；
     * R14：快视数据实时传输；
     * R16: 原始数据记录完成立即传输；
     * R17: 快视数据记录完成立即传输；
     * R18：应急截取数据并实时传输（仅针对高分星）；
     * R19：原始数据抽取数据实时传输（仅针对先导星）；
     * R13，R15用于记录数据传输任务；
     * R20…R30: 预留；
     * H31…H40：预留。
     * P01：任务过程中快速校相
     */
    private String taskMode;

    /**
     * 计划执行状态：
     * Hold：任务确认之后且尚未进入Ready状态（此状态下可以取消任务）；
     * Ready：准备就绪，等待执行（任务执行前10分钟进入Ready状态，此时起任务不能被取消；对于数据记录分系统，任务执行前5分钟进入Ready状态）；
     * Running：正在进行；
     * Completed：完成；根据计划完全成功。
     * NoRespond：数据记录分系统未响应；
     * Failed：失败。
     */
    private String status;

    /**
     * 跟踪开始时间
     * 参见3.2.4
     */
    private String trackStartTime;

    /**
     * 跟踪结束时间
     * 参见3.2.4
     */
    private String trackStopTime;

    /**
     * 记录开始时间
     * 参见3.2.4
     */
    private String receivingStartTime;

    /**
     * 记录结束时间
     * 参见3.2.4
     */
    private String receivingEndTime;

    /**
     * 起始方位（单位：0.001度）
     */
    private Integer azin;

    /**
     * 起始俯仰（单位：0.001度）
     */
    private Integer elin;

    /**
     * 结束方位（单位：0.001度）
     */
    private Integer azOut;

    /**
     * 结束俯仰（单位：0.001度）
     */
    private Integer elOut;

    /**
     * 最高仰角（单位：0.001度）
     */
    private Integer elTop;

    /**
     * 执行天线标识，参见3.2.5
     */
    private String antennaID;
    /**
     * 通道
     */
    private List<Fd_ChannelEqu> channelEquList;
}
